import { getLogin, getQrImg, getQrKey,getCheckQrState,getUserProfile, loginByPhone } from "../../service/login";

// pages/login/login.js
Page({ 

  /**
   * 页面的初始数据
   */
  data: {
    showQr:false,
    qrimg:'',
    qrKey:'',
    phone:'',
    password:'',
    profile:{}
  },
  // 监听账号密码输入

  inputHandler(e){
    let type = e.currentTarget.id;
    this.setData({
      [type]:e.detail.value
    })
  },
  async login(){
    let phone = this.data.phone
    let password = this.data.password
    let res = await loginByPhone({phone,password})
    console.log(res)
    if(res.code==200){
      wx.showToast({
        title: '登陆成功',
        icon:'none'
      })
      wx.setStorageSync('userInfo', JSON.stringify(res.profile))
      wx.setStorageSync('cookie', JSON.stringify(res.cookie))
      this.setData({
        showQr:false,
      })
      wx.switchTab({
        url: '/pages/personal/personal',
      })
    }else{
      wx.showToast({
        title: '账号或密码错误',
        icon:'none'
      })
    }
  },

  // async login(){
  //   let {phone,password} = this.data;
  //   // 手机验证正则表达式
  //   let phoneReg = /^1(3|4|5|6|7|8|9)\d{9}$/;
  //   // 判断手机号和密码是否为空
  //   if(phone,password){
  //     // 校验手机号码
  //     if(phoneReg.test(phone)){
  //       let res = await getLogin({phone,password});
  //       wx.showToast({
  //         title: res.message,
  //         icon: 'none',
  //       });
  //       setTimeout(() => {
  //         wx.navigateBack({
  //           delta: 1
  //         });
  //       }, 700);

  //     }else{
  //       wx.showToast({
  //         title: '手机号码格式不正确',
  //         icon: 'none',
  //       });
  //     }
  //   }else{
  //     wx.showToast({
  //       title: '手机号和密码不能为空',
  //       icon: 'none',
  //     });
  //   }
  // },

// 关闭二维码弹窗
closeQr(){
    this.setData({
      showQr: false
    })
  },
  // 打开二维码弹窗
  async opentQr(){
    let {data:{unikey}} = await getQrKey({timestamp:Date.now()})
    let {data:{qrimg}} = await getQrImg({key:unikey,qrimg:true,timestamp:Date.now()})
    this.setData({
      showQr: true,
      qrimg,
      qrKey:unikey
    })
  },

  // 检查二维码状态
  async checkQrState(){
      if(this.data.showQr){
        let res = await getCheckQrState({key:this.data.qrKey,timestamp:Date.now()})
        console.log(res);
        if(res.code==803){
          let {cookie} = res
          wx.setStorageSync('cookie', JSON.stringify(cookie))
          let res2 = await getUserProfile({cookie})
          if(res2.code==200){
            wx.showToast({
              title: '登陆成功',
              icon:'none'
            })
            wx.setStorageSync('userInfo', JSON.stringify(res2.profile))
            this.setData({
              showQr:false,
            })
            wx.switchTab({
              url: '/pages/personal/personal',
            })
          }
        }
      }
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    setInterval(()=>{
      this.checkQrState()
    },1000)
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})